﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using MJM.RPP.EntidadesNegocio;

namespace MJM.RPP.AccesoDatos
{
    public class PersonaAD
    {
        public int Insertar(PersonaE objPersonaE)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaPadron());
            SqlCommand cmdInsertar = new SqlCommand("sp_i_WEB_T_MAES_PADR_Registrar", conn);
            cmdInsertar.CommandType = CommandType.StoredProcedure;                       
            SqlParameter prmIDPersona;
            SqlParameter prmNombre;
            SqlParameter prmIDTipoDocumento;
            SqlParameter prmIDTipoPersona;
            SqlParameter prmApePaterno;
            SqlParameter prmApeMaterno;
            SqlParameter prmNombreCompleto;
            SqlParameter prmFechaNacimiento;
            SqlParameter prmTelefono1, prmTelefono2;
            SqlParameter prmCelular1, prmCelular2;
            SqlParameter prmEmail;
            SqlParameter prmEliminado;
            SqlParameter prmFechaCreacion;
            SqlParameter prmFechaModificacion;
            SqlParameter prmRazonSocial;
            SqlParameter prmSexo;
            SqlParameter prmAplicacionFuente;
            SqlParameter prmNroDocumento;

            String Fecha = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLocalTime().ToShortTimeString();                            
            try
            {
                prmIDPersona = cmdInsertar.CreateParameter();
                prmIDPersona.ParameterName = "@IDPersona";
                prmIDPersona.SqlDbType = SqlDbType.VarChar;
                prmIDPersona.Value = objPersonaE.IDPersona;

                prmSexo = cmdInsertar.CreateParameter();
                prmSexo.ParameterName = "@Sexo";
                prmSexo.SqlDbType = SqlDbType.Char;
                prmSexo.Value = objPersonaE.Sexo;

                prmAplicacionFuente = cmdInsertar.CreateParameter();
                prmAplicacionFuente.ParameterName="@Aplicacion";
                prmAplicacionFuente.SqlDbType = SqlDbType.VarChar;
                prmAplicacionFuente.Value = objPersonaE.AplicacionFuente;

                prmNombre = cmdInsertar.CreateParameter();
                prmNombre.ParameterName = "@Nombre";
                prmNombre.SqlDbType = SqlDbType.VarChar;
                prmNombre.Value = objPersonaE.Nombres;

                prmIDTipoDocumento = cmdInsertar.CreateParameter();
                prmIDTipoDocumento.ParameterName = "@IDTipDoc";
                prmIDTipoDocumento.SqlDbType = SqlDbType.Int;
                prmIDTipoDocumento.Value = objPersonaE.IDTipoDocumento;

                prmNroDocumento = cmdInsertar.CreateParameter();
                prmNroDocumento.ParameterName = "@NroDoc";
                prmNroDocumento.SqlDbType = SqlDbType.VarChar;
                prmNroDocumento.Value = objPersonaE.NroDocumento;

                prmFechaNacimiento = cmdInsertar.CreateParameter();
                prmFechaNacimiento.ParameterName = "@FechaNacimiento";
                prmFechaNacimiento.SqlDbType = SqlDbType.VarChar;
                prmFechaNacimiento.Value = objPersonaE.FechaNamiento;

                prmIDTipoPersona = cmdInsertar.CreateParameter();
                prmIDTipoPersona.ParameterName = "@IDTipPersona";
                prmIDTipoPersona.SqlDbType = SqlDbType.Int;
                prmIDTipoPersona.Value = objPersonaE.IDTipoPersona;

                prmApePaterno = cmdInsertar.CreateParameter();
                prmApePaterno.ParameterName = "@ApePaterno";
                prmApePaterno.SqlDbType = SqlDbType.VarChar;
                prmApePaterno.Value = objPersonaE.ApePaterno;

                prmApeMaterno = cmdInsertar.CreateParameter();
                prmApeMaterno.ParameterName = "@ApeMaterno";
                prmApeMaterno.SqlDbType = SqlDbType.VarChar;
                prmApeMaterno.Value = objPersonaE.ApeMaterno;

                prmRazonSocial = cmdInsertar.CreateParameter();
                prmRazonSocial.ParameterName = "@RazonSocial";
                prmRazonSocial.SqlDbType = SqlDbType.VarChar;
                prmRazonSocial.Value = objPersonaE.RazonSocial;

                prmNombreCompleto = cmdInsertar.CreateParameter();
                prmNombreCompleto.ParameterName = "@NombreCompleto";
                prmNombreCompleto.SqlDbType = SqlDbType.VarChar;
                prmNombreCompleto.Value = objPersonaE.NombreCompleto;

                prmCelular1 = cmdInsertar.CreateParameter();
                prmCelular1.ParameterName = "@Celular1";
                prmCelular1.SqlDbType = SqlDbType.VarChar;
                prmCelular1.Value = objPersonaE.Celular1;

                prmCelular2 = cmdInsertar.CreateParameter();
                prmCelular2.ParameterName = "@Celular2";
                prmCelular2.SqlDbType = SqlDbType.VarChar;
                prmCelular2.Value = objPersonaE.Celular2;

                prmTelefono1 = cmdInsertar.CreateParameter();
                prmTelefono1.ParameterName = "@Telefono1";
                prmTelefono1.SqlDbType = SqlDbType.VarChar;
                prmTelefono1.Value = objPersonaE.Telefono1;

                prmTelefono2 = cmdInsertar.CreateParameter();
                prmTelefono2.ParameterName = "@Telefono2";
                prmTelefono2.SqlDbType = SqlDbType.VarChar;
                prmTelefono2.Value = objPersonaE.Telefono2;

                prmEmail = cmdInsertar.CreateParameter();
                prmEmail.ParameterName = "@Email";
                prmEmail.SqlDbType = SqlDbType.VarChar;
                prmEmail.Value = objPersonaE.Email;

                prmFechaCreacion = cmdInsertar.CreateParameter();
                prmFechaCreacion.ParameterName = "@FechaCreacion";
                prmFechaCreacion.SqlDbType = SqlDbType.VarChar;
                prmFechaCreacion.Value = Fecha;

                prmFechaModificacion = cmdInsertar.CreateParameter();
                prmFechaModificacion.ParameterName = "@FechaModificacion";
                prmFechaModificacion.SqlDbType = SqlDbType.VarChar;
                prmFechaModificacion.Value = Fecha;

                prmEliminado = cmdInsertar.CreateParameter();
                prmEliminado.ParameterName = "@Eliminado";
                prmEliminado.SqlDbType = SqlDbType.Int;
                prmEliminado.Value = objPersonaE.Eliminado;
                               
                cmdInsertar.Parameters.Add(prmApeMaterno);
                cmdInsertar.Parameters.Add(prmApePaterno);
                cmdInsertar.Parameters.Add(prmCelular1);
                cmdInsertar.Parameters.Add(prmCelular2);
                cmdInsertar.Parameters.Add(prmTelefono1);
                cmdInsertar.Parameters.Add(prmTelefono2);
                cmdInsertar.Parameters.Add(prmEliminado);
                cmdInsertar.Parameters.Add(prmEmail);
                cmdInsertar.Parameters.Add(prmFechaCreacion);
                cmdInsertar.Parameters.Add(prmFechaModificacion);
                cmdInsertar.Parameters.Add(prmIDPersona);
                cmdInsertar.Parameters.Add(prmIDTipoDocumento);
                cmdInsertar.Parameters.Add(prmIDTipoPersona);
                cmdInsertar.Parameters.Add(prmNombre);
                cmdInsertar.Parameters.Add(prmNombreCompleto);
                cmdInsertar.Parameters.Add(prmRazonSocial);
                cmdInsertar.Parameters.Add(prmFechaNacimiento);
                cmdInsertar.Parameters.Add(prmSexo);
                cmdInsertar.Parameters.Add(prmNroDocumento);
                cmdInsertar.Parameters.Add(prmAplicacionFuente);
                cmdInsertar.Parameters.Add(new SqlParameter("@vPAD_chFACBOO", objPersonaE.FaceBook));
                cmdInsertar.Parameters.Add(new SqlParameter("@vPAD_chTWITTE", objPersonaE.Twitter));
                cmdInsertar.Parameters.Add(new SqlParameter("@vPAD_chUBIGEO", objPersonaE.EMP_chUBIGEO));
                cmdInsertar.Parameters.Add(new SqlParameter("@vPAD_chCODGRU", objPersonaE.EMP_chCODGRU));

                cmdInsertar.Connection.Open();
                cmdInsertar.ExecuteNonQuery();
                cmdInsertar.Connection.Close();
                cmdInsertar.Dispose();
                conn.Dispose();
            }
            catch (Exception ex)
            {
                cmdInsertar.Dispose();
                conn.Dispose();
                return 0;
            }
            return 1;
        }

        public int ActualizarEnTramite(PersonaE objPersonaE)
        {
            int codigo = 0;
            SqlConnection conn = new SqlConnection(Cadena.CadenaTramite());
            SqlCommand cmd = new SqlCommand("sp_u_T_MAES_EMPOFI_Actualizar", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter prmApePaterno;
            SqlParameter prmApeMaterno,prmNombre;
            SqlParameter prmNombreCompleto, prmFechaActualizacion,prmUsuMod;
            SqlParameter prmFechaNacimiento, prmTelefono1, prmEmail,prmFace,prmTwit,prmSexo,prmCodPersona;
            String Fecha = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLocalTime().ToShortTimeString();
            SqlParameter prmBrevete;
            SqlParameter prmLibreta;
            SqlParameter prmESSALUD;
            SqlParameter prmIP,prmNombreSistema;
            try
            {
                prmIP = cmd.CreateParameter();
                prmIP.ParameterName = "@vEMP_chIP";
                prmIP.SqlDbType = SqlDbType.VarChar;
                prmIP.Value = objPersonaE.EMP_chIP;
                cmd.Parameters.Add(prmIP);

                prmNombreSistema = cmd.CreateParameter();
                prmNombreSistema.ParameterName = "@vEMP_chNOMSIS";
                prmNombreSistema.SqlDbType = SqlDbType.VarChar;
                prmNombreSistema.Value = objPersonaE.EMP_chNOMSIS;
                cmd.Parameters.Add(prmNombreSistema);

                prmBrevete = cmd.CreateParameter();
                prmBrevete.ParameterName = "@vEMP_chBREVETE";
                prmBrevete.SqlDbType = SqlDbType.VarChar;
                prmBrevete.Value = objPersonaE.Brevete;
                cmd.Parameters.Add(prmBrevete);

                prmLibreta = cmd.CreateParameter();
                prmLibreta.ParameterName = "@vEMP_chLibMil";
                prmLibreta.SqlDbType = SqlDbType.VarChar;
                prmLibreta.Value = objPersonaE.LibretaMilitar;
                cmd.Parameters.Add(prmLibreta);

                prmESSALUD = cmd.CreateParameter();
                prmESSALUD.ParameterName = "@vEMP_chESSALUD";
                prmESSALUD.SqlDbType = SqlDbType.VarChar;
                prmESSALUD.Value = objPersonaE.ESSALUD;
                cmd.Parameters.Add(prmESSALUD);

                prmApePaterno = cmd.CreateParameter();
                prmApePaterno.ParameterName = "@vEMP_chAPEPAT";
                prmApePaterno.SqlDbType = SqlDbType.VarChar;
                prmApePaterno.Value = objPersonaE.ApePaterno;
                cmd.Parameters.Add(prmApePaterno);

                prmApeMaterno = cmd.CreateParameter();
                prmApeMaterno.ParameterName = "@vEMP_chAPEMAT";
                prmApeMaterno.SqlDbType = SqlDbType.VarChar;
                prmApeMaterno.Value = objPersonaE.ApeMaterno;
                cmd.Parameters.Add(prmApeMaterno);

                prmNombre = cmd.CreateParameter();
                prmNombre.ParameterName = "@vEMP_chNOM";
                prmNombre.SqlDbType = SqlDbType.VarChar;
                prmNombre.Value = objPersonaE.Nombres;
                cmd.Parameters.Add(prmNombre);

                prmFechaNacimiento = cmd.CreateParameter();
                prmFechaNacimiento.ParameterName = "@vEMP_chFECNAC";
                prmFechaNacimiento.SqlDbType = SqlDbType.VarChar;
                prmFechaNacimiento.Value = objPersonaE.FechaNamiento;
                cmd.Parameters.Add(prmFechaNacimiento);

                prmTelefono1 = cmd.CreateParameter();
                prmTelefono1.ParameterName = "@vEMP_chTEL";
                prmTelefono1.SqlDbType = SqlDbType.VarChar;
                prmTelefono1.Value = objPersonaE.Telefono1;
                cmd.Parameters.Add(prmTelefono1);

                prmEmail = cmd.CreateParameter();
                prmEmail.ParameterName = "@vEMP_chMAILPAR";
                prmEmail.SqlDbType = SqlDbType.VarChar;
                prmEmail.Value = objPersonaE.Email;
                cmd.Parameters.Add(prmEmail);

                prmFace = cmd.CreateParameter();
                prmFace.ParameterName = "@vEMP_cNOMBFACE";
                prmFace.SqlDbType = SqlDbType.VarChar;
                prmFace.Value = objPersonaE.FaceBook;
                cmd.Parameters.Add(prmFace);

                prmTwit = cmd.CreateParameter();
                prmTwit.ParameterName = "@vEMP_cNOMBTWIT";
                prmTwit.SqlDbType = SqlDbType.VarChar;
                prmTwit.Value = objPersonaE.Twitter;
                cmd.Parameters.Add(prmTwit);

                prmSexo = cmd.CreateParameter();
                prmSexo.ParameterName = "@vEMP_chSEXO";
                prmSexo.SqlDbType = SqlDbType.Char;
                prmSexo.Value = objPersonaE.Sexo;
                cmd.Parameters.Add(prmSexo);

                prmCodPersona = cmd.CreateParameter();
                prmCodPersona.ParameterName = "@vEMP_inCODID";
                prmCodPersona.SqlDbType = SqlDbType.Int;
                prmCodPersona.Value = objPersonaE.IDPersona;
                cmd.Parameters.Add(prmCodPersona);

                prmNombreCompleto = cmd.CreateParameter();
                prmNombreCompleto.ParameterName = "@vEMP_chNOMCOM";
                prmNombreCompleto.SqlDbType = SqlDbType.VarChar;
                prmNombreCompleto.Value = objPersonaE.NombreCompleto;                
                cmd.Parameters.Add(prmNombreCompleto);

                prmFechaActualizacion = cmd.CreateParameter();
                prmFechaActualizacion.ParameterName = "@vSEGU_chFECMOD";
                prmFechaActualizacion.SqlDbType = SqlDbType.VarChar;
                prmFechaActualizacion.Value = Fecha;
                cmd.Parameters.Add(prmFechaActualizacion);
             
                prmUsuMod = cmd.CreateParameter();
                prmUsuMod.ParameterName = "@vSEGU_inUSUMOD";
                prmUsuMod.SqlDbType = SqlDbType.Int;
                prmUsuMod.Value = objPersonaE.IDPersona;
                cmd.Parameters.Add(prmUsuMod);

                cmd.Connection.Open();
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();

                cmd.Dispose();
                conn.Dispose();
                codigo = 1;
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
                codigo = 0;
            }
            return codigo;
        }

        public string ValidaNroDocumento(String Nro)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaPadron());
            SqlCommand cmdInsertar = new SqlCommand("sp_s_WEB_T_MAES_PADR_Valida", conn);
            cmdInsertar.CommandType = CommandType.StoredProcedure;            
            SqlDataReader dr;
            SqlParameter prmNroDoc;  
            PersonaE objPersona=new PersonaE();
            objPersona.IDPersona = "";
            try
            {
                prmNroDoc= cmdInsertar.CreateParameter();
                prmNroDoc.ParameterName = "@NroDoc";
                prmNroDoc.SqlDbType = SqlDbType.VarChar;
                prmNroDoc.Value = Nro;
              
                cmdInsertar.Parameters.Add(prmNroDoc);

                cmdInsertar.Connection.Open();
                dr = cmdInsertar.ExecuteReader();
                if (dr.Read())
                {
                    objPersona.IDPersona = dr.GetString(dr.GetOrdinal("PAD_P_chIDPER"));
                }
                cmdInsertar.Connection.Close();
                cmdInsertar.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmdInsertar.Dispose();
                conn.Dispose();
                throw ex;
            }
            return objPersona.IDPersona;
        }

        public string ValidaDocTramite(String Nro)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaTramite());
            SqlCommand cmdInsertar = new SqlCommand("sp_s_T_MAES_EMPOFI_BusqDNI", conn);
            cmdInsertar.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr;
            SqlParameter prmNroDoc;
            PersonaE objPersona = new PersonaE();
            objPersona.IDPersona = "";
            try
            {
                prmNroDoc = cmdInsertar.CreateParameter();
                prmNroDoc.ParameterName = "@vEMP_chDNI";
                prmNroDoc.SqlDbType = SqlDbType.VarChar;
                prmNroDoc.Value = Nro;

                cmdInsertar.Parameters.Add(prmNroDoc);

                cmdInsertar.Connection.Open();
                dr = cmdInsertar.ExecuteReader();
                if (dr.Read())
                {
                    objPersona.IDPersona = Convert.ToString(dr.GetInt32(0));
                }
                cmdInsertar.Connection.Close();
                cmdInsertar.Dispose();
                conn.Dispose();
            }
            catch (Exception ex)
            {
                cmdInsertar.Dispose();
                conn.Dispose();
                objPersona.IDPersona = "";
             //   throw ex;
            }
            return objPersona.IDPersona;
        }

        public PersonaE ObtenerPersona(String IDPersona)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaPadron());
            SqlCommand cmdObtener = new SqlCommand("sp_s_WEB_T_MAES_PADR_Obtener", conn);
            cmdObtener.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr;
            SqlParameter prmNroDoc;
            PersonaE objPersona=null;
            try
            {          
                prmNroDoc = cmdObtener.CreateParameter();
                prmNroDoc.ParameterName = "@IDPER";
                prmNroDoc.SqlDbType = SqlDbType.VarChar;
                prmNroDoc.Value = IDPersona;

                cmdObtener.Parameters.Add(prmNroDoc);

                cmdObtener.Connection.Open();
                dr = cmdObtener.ExecuteReader();
                if (dr.Read())
                {
                    objPersona = new PersonaE();
                    objPersona.Nombres = dr.GetString(dr.GetOrdinal("PAD_chNOM"));
                    objPersona.NombreCompleto = dr.GetString(dr.GetOrdinal("PAD_chNOMCOM"));
                    objPersona.ApeMaterno = dr.GetString(dr.GetOrdinal("PAD_chAPEMAT"));
                    objPersona.ApePaterno = dr.GetString(dr.GetOrdinal("PAD_chAPEPAT"));
                    objPersona.AplicacionFuente = dr.GetString(dr.GetOrdinal("PAD_chAPLFUE"));
                    objPersona.Celular1 = dr.GetString(dr.GetOrdinal("PAD_chNROCEL1"));
                    objPersona.Email = dr.GetString(dr.GetOrdinal("PAD_chMAIL"));
                    objPersona.FechaCreacion = dr.GetString(dr.GetOrdinal("PAD_chFECCRE"));
                    objPersona.FechaModificacion = dr.GetString(dr.GetOrdinal("PAD_chFECMOD"));
                    objPersona.IDPersona = dr.GetString(dr.GetOrdinal("PAD_P_chIDPER"));
                    objPersona.Telefono1 = dr.GetString(dr.GetOrdinal("PAD_chTELFIJ1"));
                    objPersona.FechaNamiento = dr.GetString(dr.GetOrdinal("PAD_chFECNAC"));
                    objPersona.IDTipoPersona = dr.GetInt32(dr.GetOrdinal("TIPPER_P_inIDPER"));
                    objPersona.RazonSocial = dr.GetString(dr.GetOrdinal("PAD_chRAZSOC"));
                    objPersona.IDTipoDocumento = dr.GetInt32(dr.GetOrdinal("TIPDOC_P_inIDDOC"));
                    objPersona.NroDocumento = dr.GetString(dr.GetOrdinal("PAD_chNRODOC"));
                    try
                    {
                        objPersona.FaceBook = dr.GetString(dr.GetOrdinal("PAD_chFACBOO"));
                    }
                    catch
                    {
                        objPersona.FaceBook = "";
                    }
                    try
                    {
                        objPersona.Twitter = dr.GetString(dr.GetOrdinal("PAD_chTWITTE"));
                    }
                    catch
                    {
                        objPersona.Twitter = "";
                    }
                    objPersona.Sexo = dr.GetString(dr.GetOrdinal("PAD_chSEXO"))[0];
                    try
                    {
                        objPersona.EMP_chCODGRU = dr.GetString(dr.GetOrdinal("PAD_chCODGRU"));
                    }
                    catch
                    {
                        objPersona.EMP_chCODGRU = "";
                    }
                    try
                    {
                        objPersona.EMP_chUBIGEO = dr.GetString(dr.GetOrdinal("PAD_chUBIGEO"));
                    }
                    catch
                    {
                        objPersona.EMP_chUBIGEO = "";
                    }
                    objPersona.Eliminado = 1;
                }
                cmdObtener.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmdObtener.Dispose();
                conn.Dispose();
                return null;
            }
            return objPersona;
        }        

        public List<PersonaE> Listar(int TipoDocumento,String NroDocumento,String ApePaterno,String ApeMaterno)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaPadron());
            SqlCommand cmd = new SqlCommand("sp_s_T_MAES_PADR_listar", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter prmTipoDocumento, prmNroDocumento, prmApePaterno, prmApeMaterno;
            SqlDataReader dr;
            List<PersonaE> lst = new List<PersonaE>();
            try
            {
                prmApePaterno = cmd.CreateParameter();
                prmApePaterno.ParameterName = "@vPAD_chAPEPAT";
                prmApePaterno.SqlDbType = SqlDbType.VarChar;
                prmApePaterno.Value = ApePaterno;
                cmd.Parameters.Add(prmApePaterno);

                prmApeMaterno = cmd.CreateParameter();
                prmApeMaterno.ParameterName = "@vPAD_chAPEMAT";
                prmApeMaterno.SqlDbType = SqlDbType.VarChar;
                prmApeMaterno.Value = ApeMaterno;
                cmd.Parameters.Add(prmApeMaterno);

                prmTipoDocumento = cmd.CreateParameter();
                prmTipoDocumento.ParameterName = "@vTIPDOC_P_inIDDOC";
                prmTipoDocumento.SqlDbType = SqlDbType.Int;
                prmTipoDocumento.Value = TipoDocumento;
                cmd.Parameters.Add(prmTipoDocumento);

                prmNroDocumento = cmd.CreateParameter();
                prmNroDocumento.ParameterName = "@vPAD_chNRODOC";
                prmNroDocumento.SqlDbType = SqlDbType.VarChar;
                prmNroDocumento.Value = NroDocumento;
                cmd.Parameters.Add(prmNroDocumento);

                cmd.Connection.Open();
                dr = cmd.ExecuteReader();
                PersonaE obj;
                while (dr.Read())
                {
                    obj = new PersonaE();
                    obj.ApeMaterno = dr.GetString(dr.GetOrdinal("PAD_chAPEMAT"));
                    obj.ApePaterno = dr.GetString(dr.GetOrdinal("PAD_chAPEPAT"));
                    obj.AplicacionFuente = dr.GetString(dr.GetOrdinal("PAD_chAPLFUE"));
                    obj.Celular1 = dr.GetString(dr.GetOrdinal("PAD_chNROCEL1"));
                    obj.Celular2 = dr.GetString(dr.GetOrdinal("PAD_chNROCEL2"));
                    obj.Eliminado = dr.GetInt32(dr.GetOrdinal("PAD_inFLAELI"));
                    obj.Email = dr.GetString(dr.GetOrdinal("PAD_chMAIL"));
                    obj.FechaCreacion = dr.GetString(dr.GetOrdinal("PAD_chFECCRE"));
                    obj.FechaModificacion = dr.GetString(dr.GetOrdinal("PAD_chFECMOD"));
                    obj.FechaNamiento = dr.GetString(dr.GetOrdinal("PAD_chFECNAC"));
                    obj.IDPersona = dr.GetString(dr.GetOrdinal("PAD_P_chIDPER"));
                    obj.IDTipoDocumento = dr.GetInt32(dr.GetOrdinal("TIPDOC_P_inIDDOC"));
                    obj.IDTipoPersona = dr.GetInt32(dr.GetOrdinal("TIPPER_P_inIDPER"));
                    obj.NombreCompleto = dr.GetString(dr.GetOrdinal("PAD_chNOMCOM"));
                    obj.Nombres = dr.GetString(dr.GetOrdinal("PAD_chNOM"));
                    obj.NroDocumento = dr.GetString(dr.GetOrdinal("PAD_chNRODOC"));
                    obj.RazonSocial = dr.GetString(dr.GetOrdinal("PAD_chRAZSOC"));
                    string sexo = dr.GetString(dr.GetOrdinal("PAD_chSEXO"));
                    obj.Sexo = sexo[0];
                    obj.Telefono1 = dr.GetString(dr.GetOrdinal("PAD_chTELFIJ1"));
                    obj.Telefono2 = dr.GetString(dr.GetOrdinal("PAD_chTELFIJ2"));
                    obj.Fuente = "Padrón";
                    try
                    {
                        obj.FaceBook = dr.GetString(dr.GetOrdinal("PAD_chFACBOO"));
                    }
                    catch
                    {
                        obj.FaceBook = "";
                    }
                    try
                    {
                        obj.Twitter = dr.GetString(dr.GetOrdinal("PAD_chTWITTE"));
                    }
                    catch
                    {
                        obj.Twitter = "";
                    }
                    lst.Add(obj);
                }
                cmd.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
                return lst;
            }
            return lst;
        }

        public List<PersonaE> Listar2(String NroDocumento, String Nombres)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaPadron());
            SqlCommand cmd = new SqlCommand("sp_s_T_MAES_PADR_ListarV2", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter prmNroDocumento, prmNombre;
            SqlDataReader dr;
            List<PersonaE> lst = new List<PersonaE>();
            try
            {
                prmNombre = cmd.CreateParameter();
                prmNombre.ParameterName = "@vPAD_chNOMCOM";
                prmNombre.SqlDbType = SqlDbType.VarChar;
                prmNombre.Value = Nombres;
                cmd.Parameters.Add(prmNombre);

                prmNroDocumento = cmd.CreateParameter();
                prmNroDocumento.ParameterName = "@vPAD_chNRODOC";
                prmNroDocumento.SqlDbType = SqlDbType.VarChar;
                prmNroDocumento.Value = NroDocumento;
                cmd.Parameters.Add(prmNroDocumento);

                cmd.Connection.Open();
                dr = cmd.ExecuteReader();
                PersonaE obj;
                while (dr.Read())
                {
                    obj = new PersonaE();
                    obj.ApeMaterno = dr.GetString(dr.GetOrdinal("PAD_chAPEMAT"));
                    obj.ApePaterno = dr.GetString(dr.GetOrdinal("PAD_chAPEPAT"));
                    obj.AplicacionFuente = dr.GetString(dr.GetOrdinal("PAD_chAPLFUE"));
                    obj.Celular1 = dr.GetString(dr.GetOrdinal("PAD_chNROCEL1"));
                    obj.Celular2 = dr.GetString(dr.GetOrdinal("PAD_chNROCEL2"));
                    obj.Eliminado = dr.GetInt32(dr.GetOrdinal("PAD_inFLAELI"));
                    obj.Email = dr.GetString(dr.GetOrdinal("PAD_chMAIL"));
                    obj.FechaCreacion = dr.GetString(dr.GetOrdinal("PAD_chFECCRE"));
                    obj.FechaModificacion = dr.GetString(dr.GetOrdinal("PAD_chFECMOD"));
                    obj.FechaNamiento = dr.GetString(dr.GetOrdinal("PAD_chFECNAC"));
                    obj.IDPersona = dr.GetString(dr.GetOrdinal("PAD_P_chIDPER"));
                    obj.IDTipoDocumento = dr.GetInt32(dr.GetOrdinal("TIPDOC_P_inIDDOC"));
                    obj.IDTipoPersona = dr.GetInt32(dr.GetOrdinal("TIPPER_P_inIDPER"));
                    obj.NombreCompleto = dr.GetString(dr.GetOrdinal("PAD_chNOMCOM"));
                    obj.Nombres = dr.GetString(dr.GetOrdinal("PAD_chNOM"));
                    obj.NroDocumento = dr.GetString(dr.GetOrdinal("PAD_chNRODOC"));
                    obj.RazonSocial = dr.GetString(dr.GetOrdinal("PAD_chRAZSOC"));
                    string sexo = dr.GetString(dr.GetOrdinal("PAD_chSEXO"));
                    obj.Sexo = sexo[0];
                    obj.Telefono1 = dr.GetString(dr.GetOrdinal("PAD_chTELFIJ1"));
                    obj.Telefono2 = dr.GetString(dr.GetOrdinal("PAD_chTELFIJ2"));
                    obj.Fuente = dr.GetString(dr.GetOrdinal("PAD_chAPLFUE"));
                    try
                    {
                        obj.FaceBook = dr.GetString(dr.GetOrdinal("PAD_chFACBOO"));
                    }
                    catch
                    {
                        obj.FaceBook = "";
                    }
                    try
                    {
                        obj.Twitter = dr.GetString(dr.GetOrdinal("PAD_chTWITTE"));
                    }
                    catch
                    {
                        obj.Twitter = "";
                    }
                    try
                    {
                        obj.EMP_chCODGRU = dr.GetString(dr.GetOrdinal("PAD_chCODGRU"));
                    }
                    catch
                    {
                        obj.EMP_chCODGRU = "";
                    }
                    try
                    {
                        obj.EMP_chUBIGEO = dr.GetString(dr.GetOrdinal("PAD_chUBIGEO"));
                    }
                    catch
                    {
                        obj.EMP_chUBIGEO = "";
                    }

                    lst.Add(obj);
                }
                cmd.Dispose();
                conn.Dispose();
            }
            catch (Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
                return lst;
            }
            return lst;
        }

        public PersonaE BuscaLoginTramite(String Usuario)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaTramite());
            SqlCommand cmd = new SqlCommand("sp_s_WEB_M_T_MAES_EMPOFI_BusqUsua", conn);
            cmd.CommandType = CommandType.StoredProcedure;            
            SqlDataReader dr;
            SqlParameter prmUsuario;  
            PersonaE objPersona=new PersonaE();
            objPersona.IDPersona = "";
            try
            {
                prmUsuario = cmd.CreateParameter();
                prmUsuario.ParameterName = "@vUsuario";
                prmUsuario.SqlDbType = SqlDbType.VarChar;
                prmUsuario.Value = Usuario;
                cmd.Parameters.Add(prmUsuario);
                cmd.Connection.Open();
                dr=cmd.ExecuteReader();
                if (dr.Read())
                {
                    objPersona.IDPersona = dr.GetInt32(dr.GetOrdinal("EMP_inCODID")).ToString();
                    objPersona.ApePaterno = dr.GetString(dr.GetOrdinal("EMP_chAPEPAT"));
                    objPersona.ApeMaterno = dr.GetString(dr.GetOrdinal("EMP_chAPEMAT"));
                    objPersona.Nombres = dr.GetString(dr.GetOrdinal("EMP_chNOM"));
                    objPersona.NombreCompleto = dr.GetString(dr.GetOrdinal("EMP_chNOMCOM"));
                    try
                    {
                        objPersona.Twitter = dr.GetString(dr.GetOrdinal("EMP_cNOMBTWIT"));
                    }
                    catch
                    {
                        objPersona.Twitter = "";
                    }
                    try
                    {
                        objPersona.FaceBook = dr.GetString(dr.GetOrdinal("EMP_cNOMBFACE"));
                    }
                    catch
                    {
                        objPersona.FaceBook = "";
                    }
                    objPersona.IDTipoPersona = 1;
                    try
                    {
                        objPersona.FechaNamiento = dr.GetString(dr.GetOrdinal("EMP_chFECNAC"));
                    }
                    catch
                    {
                        objPersona.FechaNamiento = "00000000";
                    }
                    try
                    {
                        objPersona.Sexo = dr.GetString(dr.GetOrdinal("EMP_chSEXO"))[0];
                    }
                    catch(Exception e)
                    { 
                        objPersona.Sexo = 'N';
                    }
                    try
                    {
                        objPersona.Telefono1 = dr.GetString(dr.GetOrdinal("EMP_chTEL"));
                    }
                    catch
                    {
                        objPersona.Telefono1 = "";
                    }
                    try
                    {
                        objPersona.Email = dr.GetString(dr.GetOrdinal("EMP_chMAILPAR"));
                    }
                    catch (Exception e)
                    {
                        objPersona.Email = "";
                    }
                    try
                    {
                        objPersona.NroDocumento = dr.GetString(dr.GetOrdinal("EMP_chDNI"));
                    }
                    catch
                    {
                        objPersona.NroDocumento = "";
                    }
                    try
                    {
                        objPersona.Tienefoto = dr.GetString(dr.GetOrdinal("EMP_chFOTO"));
                    }
                    catch
                    {
                        objPersona.Tienefoto = "";
                    }
                    try
                    {
                        objPersona.LibretaMilitar = dr.GetString(dr.GetOrdinal("EMP_chLibMil"));
                    }
                    catch
                    {
                        objPersona.LibretaMilitar = "";
                    }
                    try
                    {
                        objPersona.ESSALUD = dr.GetString(dr.GetOrdinal("EMP_chESSALUD"));
                    }
                    catch
                    {
                        objPersona.ESSALUD = "";
                    }
                    try
                    {
                        objPersona.Brevete = dr.GetString(dr.GetOrdinal("EMP_chBREVETE"));
                    }
                    catch
                    {
                        objPersona.Brevete = "";
                    }
                    try
                    {
                        objPersona.EMP_inCODPRO = dr.GetInt32(dr.GetOrdinal("OFIC_P_inCODOFI"));
                    }
                    catch
                    {
                        objPersona.EMP_inCODPRO = 0;
                    }
                }

                cmd.Connection.Close();
                cmd.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
            }

            return objPersona;
        }

        public PersonaE ObtenerPersonaTramite(int ID)
        {
            SqlConnection conn = new SqlConnection(Cadena.CadenaTramite());
            SqlCommand cmd = new SqlCommand("sp_s_WEB_T_MAES_EMPOFI_Obtener2", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr;
            SqlParameter prmUsuario,prmID;
            PersonaE objPersona = new PersonaE();
            objPersona.IDPersona = "";
            try
            {
                prmUsuario = cmd.CreateParameter();
                prmUsuario.ParameterName = "@Usuario";
                prmUsuario.SqlDbType = SqlDbType.VarChar;
                prmUsuario.Value = "";
                cmd.Parameters.Add(prmUsuario);

                prmID = cmd.CreateParameter();
                prmID.ParameterName = "@IdPersona";
                prmID.SqlDbType = SqlDbType.Int;
                prmID.Value = ID;
                cmd.Parameters.Add(prmID);

                cmd.Connection.Open();
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    objPersona.IDPersona = dr.GetInt32(dr.GetOrdinal("EMP_inCODID")).ToString();
                    objPersona.ApePaterno = dr.GetString(dr.GetOrdinal("EMP_chAPEPAT"));
                    objPersona.ApeMaterno = dr.GetString(dr.GetOrdinal("EMP_chAPEMAT"));
                    objPersona.Nombres = dr.GetString(dr.GetOrdinal("EMP_chNOM"));
                    objPersona.NombreCompleto = dr.GetString(dr.GetOrdinal("EMP_chNOMCOM"));
                    try
                    {
                        objPersona.Twitter = dr.GetString(dr.GetOrdinal("EMP_cNOMBTWIT"));
                    }
                    catch
                    {
                        objPersona.Twitter = "";
                    }
                    try
                    {
                        objPersona.FaceBook = dr.GetString(dr.GetOrdinal("EMP_cNOMBFACE"));
                    }
                    catch
                    {
                        objPersona.FaceBook = "";
                    }

                    objPersona.IDTipoPersona = 1;
                    try
                    {
                        objPersona.FechaNamiento = dr.GetString(dr.GetOrdinal("EMP_chFECNAC"));
                    }
                    catch
                    {
                        objPersona.FechaNamiento = "00000000";
                    }
                    try
                    {
                        objPersona.Sexo = dr.GetChar(dr.GetOrdinal("EMP_chSEXO"));
                    }
                    catch
                    {
                        objPersona.Sexo = 'N';
                    }
                    try
                    {
                        objPersona.Telefono1 = dr.GetString(dr.GetOrdinal("EMP_chTEL"));
                    }
                    catch
                    {
                        objPersona.Telefono1 = "";
                    }
                    try
                    {
                        objPersona.Email = dr.GetString(dr.GetOrdinal("EMP_chMAIL"));
                    }
                    catch
                    {
                        objPersona.Email = "";
                    }
                    try
                    {
                        objPersona.NroDocumento = dr.GetString(dr.GetOrdinal("EMP_chDNI"));
                    }
                    catch
                    {
                        objPersona.NroDocumento = "";
                    }
                    try
                    {
                        objPersona.Tienefoto = dr.GetString(dr.GetOrdinal("EMP_chFOTO"));
                    }
                    catch
                    {
                        objPersona.Tienefoto = "";
                    }

                    try
                    {
                        objPersona.LibretaMilitar = dr.GetString(dr.GetOrdinal("EMP_chLibMil"));
                    }
                    catch
                    {
                        objPersona.LibretaMilitar = "";
                    }
                    try
                    {
                        objPersona.ESSALUD = dr.GetString(dr.GetOrdinal("EMP_chESSALUD"));
                    }
                    catch
                    {
                        objPersona.ESSALUD = "";
                    }
                    try
                    {
                        objPersona.Brevete = dr.GetString(dr.GetOrdinal("EMP_chESSALUD"));
                    }
                    catch
                    {
                        objPersona.Brevete = "";
                    }

                    try
                    {
                        objPersona.EMP_inCODPRO = dr.GetInt32(dr.GetOrdinal("EMP_inCODPRO"));
                    }
                    catch
                    { 
                    objPersona.EMP_inCODPRO = 0;
                    }
                }

                cmd.Connection.Close();
                cmd.Dispose();
                conn.Dispose();
            }
            catch (Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
            }

            return objPersona;
        }

        public byte[] FotoTramite(int Codigo)
        {
            byte[] b=null;
            SqlConnection conn = new SqlConnection(Cadena.CadenaTramite());
            SqlCommand cmd = new SqlCommand("sp_s_T_MAES_EMPOFI_IMAG_Busq", conn);
            cmd.CommandType = CommandType.StoredProcedure;            
            SqlParameter prmcodigo;                        
            try
            {
                prmcodigo = cmd.CreateParameter();
                prmcodigo.ParameterName = "@vEMP_inCODID";
                prmcodigo.SqlDbType = SqlDbType.Int;
                prmcodigo.Value = Codigo;
                cmd.Parameters.Add(prmcodigo);

                cmd.Connection.Open();
                b=(byte[])cmd.ExecuteScalar();
                cmd.Connection.Close();
                cmd.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
            }

            return b;
        }

        public int ActualizarPadron(PersonaE objPersonaE)
        {
            int codigo=0;
            SqlConnection conn = new SqlConnection(Cadena.CadenaPadron());
            SqlCommand cmd = new SqlCommand("sp_u_T_MAES_PADR_Modificar", conn);
            String Fecha = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLocalTime().ToShortTimeString();
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter prmIDPersona;
            SqlParameter prmNombre;
            SqlParameter prmIDTipoDocumento;
            SqlParameter prmIDTipoPersona;
            SqlParameter prmApePaterno;
            SqlParameter prmApeMaterno;
            SqlParameter prmNombreCompleto;
            SqlParameter prmFechaNacimiento;
            SqlParameter prmTelefono1;
            SqlParameter prmCelular1;
            SqlParameter prmEmail;
            SqlParameter prmEliminado;            
            SqlParameter prmFechaModificacion;
            SqlParameter prmRazonSocial;
            SqlParameter prmSexo;           
            SqlParameter prmNroDocumento;
            SqlParameter prmFacebook;
            SqlParameter prmTwitter;
            try
            {
                prmIDPersona = cmd.CreateParameter();
                prmIDPersona.ParameterName = "@IDPersona";
                prmIDPersona.SqlDbType = SqlDbType.VarChar;
                prmIDPersona.Value = objPersonaE.IDPersona;

                prmSexo = cmd.CreateParameter();
                prmSexo.ParameterName = "@Sexo";
                prmSexo.SqlDbType = SqlDbType.Char;
                prmSexo.Value = objPersonaE.Sexo;

                prmNombre = cmd.CreateParameter();
                prmNombre.ParameterName = "@Nombre";
                prmNombre.SqlDbType = SqlDbType.VarChar;
                prmNombre.Value = objPersonaE.Nombres;

                prmIDTipoDocumento = cmd.CreateParameter();
                prmIDTipoDocumento.ParameterName = "@IDTipDoc";
                prmIDTipoDocumento.SqlDbType = SqlDbType.Int;
                prmIDTipoDocumento.Value = objPersonaE.IDTipoDocumento;

                prmNroDocumento = cmd.CreateParameter();
                prmNroDocumento.ParameterName = "@NroDoc";
                prmNroDocumento.SqlDbType = SqlDbType.VarChar;
                prmNroDocumento.Value = objPersonaE.NroDocumento;

                prmFacebook = cmd.CreateParameter();
                prmFacebook.ParameterName = "@Facebook";
                prmFacebook.SqlDbType = SqlDbType.VarChar;
                prmFacebook.Value = objPersonaE.FaceBook;

                prmTwitter = cmd.CreateParameter();
                prmTwitter.ParameterName = "@Twitter";
                prmTwitter.SqlDbType = SqlDbType.VarChar;
                prmTwitter.Value = objPersonaE.Twitter;

                prmFechaNacimiento = cmd.CreateParameter();
                prmFechaNacimiento.ParameterName = "@FechaNacimiento";
                prmFechaNacimiento.SqlDbType = SqlDbType.VarChar;
                prmFechaNacimiento.Value = objPersonaE.FechaNamiento;

                prmIDTipoPersona = cmd.CreateParameter();
                prmIDTipoPersona.ParameterName = "@IDTipPersona";
                prmIDTipoPersona.SqlDbType = SqlDbType.Int;
                prmIDTipoPersona.Value = objPersonaE.IDTipoPersona;

                prmApePaterno = cmd.CreateParameter();
                prmApePaterno.ParameterName = "@ApePaterno";
                prmApePaterno.SqlDbType = SqlDbType.VarChar;
                prmApePaterno.Value = objPersonaE.ApePaterno;

                prmApeMaterno = cmd.CreateParameter();
                prmApeMaterno.ParameterName = "@ApeMaterno";
                prmApeMaterno.SqlDbType = SqlDbType.VarChar;
                prmApeMaterno.Value = objPersonaE.ApeMaterno;

                prmRazonSocial = cmd.CreateParameter();
                prmRazonSocial.ParameterName = "@RazonSocial";
                prmRazonSocial.SqlDbType = SqlDbType.VarChar;
                prmRazonSocial.Value = objPersonaE.RazonSocial;

                prmNombreCompleto = cmd.CreateParameter();
                prmNombreCompleto.ParameterName = "@NombreCompleto";
                prmNombreCompleto.SqlDbType = SqlDbType.VarChar;
                prmNombreCompleto.Value = objPersonaE.NombreCompleto;

                prmCelular1 = cmd.CreateParameter();
                prmCelular1.ParameterName = "@Celular1";
                prmCelular1.SqlDbType = SqlDbType.VarChar;
                prmCelular1.Value = objPersonaE.Celular1;

                prmTelefono1 = cmd.CreateParameter();
                prmTelefono1.ParameterName = "@Telefono1";
                prmTelefono1.SqlDbType = SqlDbType.VarChar;
                prmTelefono1.Value = objPersonaE.Telefono1;

                prmEmail = cmd.CreateParameter();
                prmEmail.ParameterName = "@Email";
                prmEmail.SqlDbType = SqlDbType.VarChar;
                prmEmail.Value = objPersonaE.Email;

                prmFechaModificacion = cmd.CreateParameter();
                prmFechaModificacion.ParameterName = "@FechaModificacion";
                prmFechaModificacion.SqlDbType = SqlDbType.VarChar;
                prmFechaModificacion.Value = Fecha;

                prmEliminado = cmd.CreateParameter();
                prmEliminado.ParameterName = "@Eliminado";
                prmEliminado.SqlDbType = SqlDbType.Int;
                prmEliminado.Value = objPersonaE.Eliminado;

                cmd.Parameters.Add(prmApeMaterno);
                cmd.Parameters.Add(prmApePaterno);
                cmd.Parameters.Add(prmCelular1);
                cmd.Parameters.Add(prmTelefono1);
                cmd.Parameters.Add(prmEliminado);
                cmd.Parameters.Add(prmEmail);
                cmd.Parameters.Add(prmFechaModificacion);
                cmd.Parameters.Add(prmIDPersona);
                cmd.Parameters.Add(prmIDTipoDocumento);
                cmd.Parameters.Add(prmIDTipoPersona);
                cmd.Parameters.Add(prmNombre);
                cmd.Parameters.Add(prmNombreCompleto);
                cmd.Parameters.Add(prmRazonSocial);
                cmd.Parameters.Add(prmFechaNacimiento);
                cmd.Parameters.Add(prmSexo);
                cmd.Parameters.Add(prmNroDocumento);
                cmd.Parameters.Add(prmFacebook);
                cmd.Parameters.Add(prmTwitter);

                cmd.Connection.Open();
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
                cmd.Dispose();
                conn.Dispose();
                codigo = 1;
            }
            catch (Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
                codigo = 0;
            }
            return codigo;
        }

        public PersonaE ConsultarRENIEC(string dni)
        {
            SqlConnection conn = new SqlConnection("Server=192.168.106.240; DataBase=BD_DNI; User ID=dnimanager; PWD=dnimanager");
            SqlCommand cmd = new SqlCommand("M_DNI_ConsultarPorDNI", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr;
            PersonaE objPersonaE=null;
            try
            {
                cmd.Parameters.Add(new SqlParameter("@DNI_P_chNUMDNI",dni));
                cmd.Connection.Open();
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    objPersonaE = new PersonaE();
                    objPersonaE.ApePaterno = dr.GetString(0);
                    objPersonaE.ApeMaterno = dr.GetString(1);
                    objPersonaE.Nombres = dr.GetString(2);
                    objPersonaE.NroDocumento = dr.GetString(3);
                    objPersonaE.Sexo = dr.GetString(4)[0];
                    objPersonaE.FechaNamiento = dr.GetString(5);
                    try
                    {
                        objPersonaE.EMP_chUBIGEO = dr.GetString(6);
                    }
                    catch
                    {
                        objPersonaE.EMP_chUBIGEO = "";
                    }
                    try
                    {
                        objPersonaE.EMP_chCODGRU = dr.GetString(7);
                    }
                    catch
                    {
                        objPersonaE.EMP_chCODGRU = "";
                    }
                }
                cmd.Connection.Close();
                cmd.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
            }
            return objPersonaE;
        }

        public List<PersonaE> ListarPersonasCEC()
        {
            List<PersonaE> lst = new List<PersonaE>();
            SqlConnection conn = new SqlConnection(Cadena.GetCadenaVecinos());
            SqlCommand cmd = new SqlCommand("sp_s_T_MAES_PADR_ListaGestion", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader dr;
            try
            {
                cmd.Connection.Open();
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    var obj = new PersonaE();
                    obj.NombreCompleto = dr.GetString(dr.GetOrdinal("PAD_chNOMCOM"));
                    obj.IDPersona = dr.GetString(dr.GetOrdinal("PAD_P_chIDPER"));
                    obj.NroDocumento = dr.GetString(dr.GetOrdinal("PAD_chNRODOC"));
                    obj.NombreCompleto = dr.GetString(dr.GetOrdinal("PAD_chNOMCOM"));
                    DateTime dt = new DateTime(Convert.ToInt32(dr.GetString(dr.GetOrdinal("PAD_chFECNAC")).Substring(0, 4)), Convert.ToInt32(dr.GetString(dr.GetOrdinal("PAD_chFECNAC")).Substring(4, 2)), Convert.ToInt32(dr.GetString(dr.GetOrdinal("PAD_chFECNAC")).Substring(6, 2)));
                    TimeSpan ts = DateTime.Now - dt;
                    obj.Eliminado = ts.Days/365;
                    obj.IDTipoDocumento=dr.GetInt32(dr.GetOrdinal("MENUSU_inFLAELI"));
                    obj.Email = dr.GetString(dr.GetOrdinal("PAD_chMAIL"));
                    if (obj.IDTipoDocumento == 0)
                        obj.FechaCreacion = "NO";
                    if (obj.IDTipoDocumento == 1)
                        obj.FechaCreacion = "SI";
                    if (obj.IDTipoDocumento == 2)
                        obj.FechaCreacion = "INACTIVO";
                    lst.Add(obj);
                }
                cmd.Connection.Close();
                cmd.Dispose();
                conn.Dispose();
            }
            catch(Exception ex)
            {
                cmd.Dispose();
                conn.Dispose();
            }
            return lst;
        }
    }
}
